package com.example.myapplication;


import android.annotation.SuppressLint;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class LibraryDBHelper extends SQLiteOpenHelper {

    public static final int DATABASE_VERSION = 1;
    private static final String DATABASE_NAME = "library.db";

    private static final String READERS = "readers";
    private static final String BOOKS = "books";
    private static final String BORROWS = "borrows";

    private SQLiteDatabase sqLiteDatabase;

    public LibraryDBHelper(Context context){
        super(context,DATABASE_NAME,null,DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase){
        String CREATE_READERS=
                "create table readers(" +
                        "reader_id integer primary key," +
                        "reader_number text," +
                        "reader_name text," +
                        "reader_type text," +
                        "reader_phone text," +
                        "reader_password text," +
                        "reader_createtime text)";
        sqLiteDatabase.execSQL(CREATE_READERS);

        String CREATE_BOOK=
                "create table books(" +
                        "book_id integer primary key," +
                        "book_name text," +
                        "book_author text," +
                        "book_publisher text," +
                        "book_intime text," +
                        "book_counts integer)";
        sqLiteDatabase.execSQL(CREATE_BOOK);
    }

    public void insert_reader(Reader reader){
        SQLiteDatabase sqLiteDatabase = getWritableDatabase();

        ContentValues values = new ContentValues();
        values.put("reader_number",reader.getReader_number());
        values.put("reader_name",reader.getReader_name());
        values.put("reader_type",reader.getReader_type());
        values.put("reader_phone",reader.getReader_phone());
        values.put("reader_createtime",reader.getReader_createtime());
        values.put("reader_password",reader.getReader_password());

        sqLiteDatabase.insert("readers",null,values);
        sqLiteDatabase.close();
    }

    public int delete_reader(String reader_num){
        SQLiteDatabase sqLiteDatabase = getWritableDatabase();
        int result = sqLiteDatabase.delete("readers","reader_number=?",new String[]{reader_num});
        sqLiteDatabase.close();
        return result;
    }

    public int update_reader(Reader reader){
        SQLiteDatabase sqLiteDatabase = getWritableDatabase();
        String reader_num = reader.getReader_number();
        ContentValues values = new ContentValues();
        values.put("reader_name",reader.getReader_name());
        values.put("reader_type",reader.getReader_type());
        values.put("reader_phone",reader.getReader_phone());
        values.put("reader_createtime",reader.getReader_createtime());
        values.put("reader_password",reader.getReader_password());
        int result = sqLiteDatabase.update("readers",values,"reader_number=?",new String[]{reader_num});
        sqLiteDatabase.close();
        return result;
    }

    public Cursor query_reader(String reader_num){
        @SuppressLint("Range")
        SQLiteDatabase sqLiteDatabase = getReadableDatabase();
        Cursor cursor = sqLiteDatabase.query("readers",null,
                "reader_number LIKE?",new String[]{"%"+reader_num+"%"},
                null,null,null,null);
        //sqLiteDatabase.close();
        return cursor;
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}
